{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Kanerva's Table 7.3 (page 70)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sdm as sdmlib\n",
    "import matplotlib.pyplot as plt\n",
    "from IPython.display import clear_output\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "bits = 1000\n",
    "sample = 1000000\n",
    "radius = 451\n",
    "scanner_type = sdmlib.SDM_SCANNER_OPENCL"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#address_space = sdmlib.AddressSpace.init_from_b64_file('sdm-10000w.as')\n",
    "#counter = sdmlib.Counter.load_file('sdm-10000w')\n",
    "address_space = sdmlib.AddressSpace.init_random(bits, sample)\n",
    "counter = sdmlib.Counter.init_zero(bits, sample)\n",
    "sdm = sdmlib.SDM(address_space, counter, radius, scanner_type)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9999\n"
     ]
    }
   ],
   "source": [
    "for i in range(10000):\n",
    "    clear_output(wait=True)\n",
    "    print i\n",
    "    bs = sdmlib.Bitstring.init_random(1000)\n",
    "    sdm.write(bs, bs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "b = sdmlib.Bitstring.init_random(1000)\n",
    "sdm.write(b, b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Distance: 1000 (100.00%)\n",
      "Done!\n"
     ]
    }
   ],
   "source": [
    "from IPython.display import clear_output\n",
    "\n",
    "max_iter = 10\n",
    "samples = 1\n",
    "\n",
    "distances = []\n",
    "x = range(0, 1001)\n",
    "for i, dist in enumerate(x):\n",
    "    clear_output(wait=True)\n",
    "    print 'Distance: {:4d} ({:.2f}%)'.format(dist, 100.*(i+1)/len(x))\n",
    "    v = []\n",
    "    for j in range(samples):\n",
    "        c = sdmlib.Bitstring.init_from_bitstring(b)\n",
    "        c.flip_random_bits(dist)\n",
    "        assert c.distance_to(b) == dist\n",
    "        d = sdm.iter_read(c, max_iter=max_iter)\n",
    "        v.append(d.distance_to(b))\n",
    "    distances.append(1.0*sum(v)/len(v))\n",
    "print 'Done!'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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hGHDhrFgwQIF6ByiEC0iIiKShyQkJNCvXz+aNm3K0aNHueGGG9iwYQM9evTQ3M85SO0cIiIiInnEkSNHePHFF1m1ahUAL730EiNGjKBkyZJerqzg0Ui0iIiISB4wf/58AgICWLVqFaVKlWLq1KkEBgYqQHuJQrSIiIhILhYdHU337t1p1aoVwcHBNGzYkO3bt9OuXTtvl1agKUSLiIiI5FJ///03d955JyNHjgSgT58+rF27luuuu87LlYl6okVERERyGWstgYGBdO/encjISCpVqsTkyZN5+OGHvV2aOClEi4iIiOQioaGhdOnShRkzZgDw0EMPMXnyZKpVq+blysSV2jlEREREcolNmzZRv359ZsyYQeHChRkwYACLFi1SgM6FNBItIiIi4mWJiYkMGjSIDz/8kPj4eGrVqsX06dO58847vV2aZEAhWkRERMSLTp48SceOHVm8eDEAzz//PKNHj6Zs2bJerkwuRu0cIiIiIl6yePFi/P39Wbx4McWLF2fs2LHMmDFDAToPUIgWERERyWGxsbG8++67tGzZktOnT3PrrbeyZcsWXn31VS3dnUeonUNEREQkBx04cIA2bdqwadMmALp27cqgQYMoXry4lyuTrFCIFhEREckh06dP5/XXXycsLIxy5coxfvx4nn76aW+XJR5QiBYRERG5wiIiIujevTuBgYEA3HvvvQQFBVGzZk0vVyaeUk+0iIiIyBW0Y8cOGjRoQGBgID4+PnzyyScsX75cATqP00i0iIiIyBVgrWXUqFH07t2b2NhYqlevTlBQEPfff7+3S5NsoBAtIiIiks3OnTtHp06dWLBgAQBPPPEEEyZMoGLFil6uTLKL2jlEREREstHKlSvx9/dnwYIFFClShOHDhzN//nwF6HxGIVpEREQkG8THx/PZZ5/x4IMPcuzYMW688UY2btxI9+7dNfdzPqR2DhEREZHLdOTIEdq1a8fq1asBePnllxk+fDglS5b0cmVypShEi4iIiFyG+fPn8/LLL3P+/HlKlSrF6NGjadOmjbfLkitM7RwiIiIiHoiOjqZbt260atWK8+fP07BhQ7Zv364AXUAoRIuIiIhk0V9//UXjxo0ZNWoUAO+88w5r167luuuu83JlklPUziEiIiKSSdZaJkyYQI8ePYiMjKRy5cpMnjyZli1bers0yWEK0SIiIiKZEBoayuuv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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10d249c10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8, 6), dpi=100)\n",
    "plt.plot(x, distances)\n",
    "plt.plot(x, x, 'k')\n",
    "plt.plot(x, [500]*len(x), 'k:')\n",
    "#plt.title('Kanerva\\'s Figure 7.3')\n",
    "if max_iter == 1:\n",
    "    plt.ylabel('New distance (after a single read)')\n",
    "else:\n",
    "    plt.ylabel('New distance (after {} iterative reads)'.format(max_iter))\n",
    "plt.xlabel('Old distance')\n",
    "plt.grid()\n",
    "#plt.axis([0, 1000, 0, 1000]);\n",
    "plt.axis([x[0], x[-1], x[0], x[-1]]);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "c = sdmlib.Bitstring.init_from_bitstring(b)\n",
    "c.flip_random_bits(1000)\n",
    "d = c\n",
    "print 0, b.distance_to(d)\n",
    "for i in xrange(10):\n",
    "    d = sdm.read(d)\n",
    "    print i+1, b.distance_to(d)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
